]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensions-app: Port to ESM
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 25 May 2023 19:23:24 +0000 (21:23 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 21 Jun 2023 11:26:42 +0000 (13:26 +0200)
The extensions app is another part of the code base that is largely
separate from the main code base, and can therefore be ported to
ESM before the big switch.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2786>

.eslintrc.yml
subprojects/extensions-app/js/gnome-extensions-app.in
subprojects/extensions-app/js/main.js
subprojects/extensions-app/js/org.gnome.Extensions.in

index f1edc4dcfd0fc4dede15feb971da38aeb1e9f2d9..4fdede6656f460f2b4c3aae920bae8fc76144c4e 100644 (file)
@@ -5,5 +5,6 @@ overrides:
   - files:
       - js/ui/init.js
       - js/dbusServices/**
+      - subprojects/extensions-app/**
     parserOptions:
       sourceType: module
index dc6d627601cee6d9f92a8700bbdcd09e13af90c4..99d23204d4ee09f1b49189169b092ec5a6fc9339 100644 (file)
@@ -1,2 +1,2 @@
 #!/bin/sh
-@gjs@ @pkgdatadir@/@app_id@ "$@"
+@gjs@ -m @pkgdatadir@/@app_id@ "$@"
index dababa71afa5f84e583d9d9c6613bd69d54dc126..912471ae8553ff2fa8adaa5580d05d057b14e4f2 100644 (file)
@@ -1,10 +1,12 @@
-/* exported main */
-imports.gi.versions.Adw = '1';
-imports.gi.versions.Gtk = '4.0';
-
-const Gettext = imports.gettext;
+import Adw from 'gi://Adw?version=1';
+import GLib from 'gi://GLib';
+import Gio from 'gi://Gio';
+import GObject from 'gi://GObject';
+import Gtk from 'gi://Gtk?version=4.0';
+import Shew from 'gi://Shew';
+
+import * as Gettext from 'gettext';
 const Package = imports.package;
-const { Adw, GLib, Gio, GObject, Gtk, Shew } = imports.gi;
 
 Package.initFormat();
 
@@ -540,9 +542,13 @@ function initEnvironment() {
     };
 }
 
-function main(argv) {
+/**
+ * @param {string[]} argv - command line arguments
+ * @returns {void}
+ */
+export async function main(argv) {
     initEnvironment();
     Package.initGettext();
 
-    new Application().run(argv);
+    await new Application().runAsync(argv);
 }
index da7ab251295e6c0a7d7fa2022a4e3133b033bde1..18239359654c7b58c13e0dc1cc37e5b776185231 100644 (file)
@@ -1,6 +1,10 @@
-imports.package.start({
+import {programInvocationName, programArgs} from 'system';
+
+imports.package.init({
     name: '@PACKAGE_NAME@',
     version: '@PACKAGE_VERSION@',
     prefix: '@prefix@',
     libdir: '@libdir@',
 });
+const {main} = await import(`${imports.package.moduledir}/main.js`);
+await main([programInvocationName, ...programArgs]);